package com.xgs.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xgs.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author JerryLu
 * @date 2024/10/23 10:59
 * @description 名单下发实体
 */
@Data
public class Roster implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private String id;

    /**
     * 基本版本关联ID
     */
    private String basicId;

    /**
     * 车牌号
     */
    @Excel(name = "车牌号")
    private String vehicleId;

    /**
     * 车型
     */
    @Excel(name = "车型")
    private Integer vehicleType;

    /**
     * 机构ID
     */
    private String deptId;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    /**
     * 优免类型： 1-按折扣率 2-按金额 3-全免
     */
    @Excel(name = "优免类型")
    private Integer discountType;

    /**
     * 折扣率
     */
    @Excel(name = "折扣率")
    private Integer discountRate;

    /**
     * 优免金额
     */
    @Excel(name = "优免金额")
    private Integer discountAmount;

    /**
     * 类型：0-路段到路段 1-路段到收费站 2-收费站到收费站 3-收费站到路段
     */
    @Excel(name = "类型")
    private Integer type;

    /**
     * 开始路段编码
     */
    @Excel(name = "开始路段")
    private String beginRoadNo;

    /**
     * 结束路段编码
     */
    @Excel(name = "结束路段")
    private String endRoadNo;

    /**
     * 入口收费站7位站号
     */
    @Excel(name = "入口收费站Id")
    private String enStationId;

    /**
     * 入口收费站8位hex码
     */
    @Excel(name = "入口收费站Hex")
    private String enStationHex;

    /**
     * 出口收费站7位站号
     */
    @Excel(name = "出口收费站Id")
    private String exStationId;

    /**
     * 出口收费站8位hex码
     */
    @Excel(name = "出口收费站Hex")
    private String exStationHex;

    /**
     * 非免金额
     */
    @Excel(name = "非免金额")
    private Integer noFreeAmount;

    /**
     * 是否双向车 0-否 1-是
     */
    @Excel(name = "是否双向车")
    private Integer isDouble;

    /**
     * 备用字段1
     */
    private String spare1;

    /**
     * 备用字段2
     */
    private String spare2;

    /**
     * 备用字段3
     */
    private Integer spare3;

    /**
     * 备用字段4
     */
    private Integer spare4;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
